iT邦幫忙

2026 iThome 鐵人賽

DAY 26
0
Modern Web

教練看不到的那六天|從 FIT 檔到 3D 軌跡,馬拉松訓練資料 Dashboard系列 第 26

Day 26|Garmin 的比賽預測:好的相對指標,但不是絕對數字

  • 分享至 

  • xImage
  •  

昨天做了配速計算機,可以從一場成績推算其他距離的配速。

而 Garmin 早就有這個功能了—它每天更新一個「比賽預測」,五公里到全馬都有,今天打開是這樣:

5K     20:02
10K    42:35
半馬    1:35:52
全馬    3:31:09

看起來非常精確。

而今天要做的事很簡單:驗證它準嗎?


拿得到歷史預測

原本以為 Garmin 只給當天的數字,那樣就沒辦法驗證過去的狀況了,翻了一下 API:

g.get_race_predictions(startdate, enddate, 'daily')

三個參數要嘛全給要嘛全不給(不給就是只有今天的),給了之後回傳那段期間每一天的預測。

所以可以問一個很直接的問題:每場比賽的前一天,Garmin 推我會跑多少?

刻意取「前一天」而不是當天,是為了避開一個疑慮:如果那個數字已經吃進當天的比賽結果,就不算預測了。

驗了一下,它沒有:

福岡馬   賽前3天 3:24:07 → 賽前1天 3:24:03 → 當天 3:20:34 → 賽後 3:20:31
東京馬          3:05:41 →        3:06:01 →      3:04:25 →      3:04:26

六場都跑了同樣的比對,賽後一天全都沒有跳動,如果它把那場算進去了,應該要大幅變慢—因為每一場都比預測慢十幾到四十幾分鐘。


六場,六次都太快

賽事 賽前一天的預測 實際
福岡馬 3:24:03 3:37:24 +13.4 分
臺北馬 24 3:10:53 3:28:41 +17.8 分
東京馬 3:06:01 3:22:07 +16.1 分
臺北馬 25 3:04:39 3:30:40 +26.0 分
國道馬 3:04:06 3:34:39 +30.6 分
台東 CT 3:10:06 3:56:54 +46.8 分

六場全部低估 ,不是有時快有時慢—是同一個方向,六次。

而最準的那次(福岡)也差了十三分鐘。平均是二十五分鐘。

一個每天更新、精確到秒的數字,六次都不太準。


這不是我的手錶裝置壞了

去查了一下,這是普遍現象,跑步裝置的評測圈有一個常見說法:Garmin 的全馬預測通常快 15 到 45 分鐘。

我的六場是 +13.4 到 +46.8 分—完全落在那個區間裡。

至於為什麼,那些評測給的解釋是:

Garmin's race predictor uses a single physiological input (VO2 max) to predict
an event that depends on a dozen variables. The shorter the race, the more VO2 max
dominates those variables. The longer the race, the less it matters relative to
everything else.

但這是評測網站的說法,不是 Garmin 官方,也不是同行評審的論文。 這邊找到的學術研究只有一篇,測的是 Huawei 不是 Garmin,而且只到半馬沒有全馬。

那篇唯一能借用的是一個趨勢:誤差隨距離放大—5K 的一致性界限是 ±44 秒,到半馬變成 ±400 秒,而全馬比半馬又遠一倍。


台東那場特別值得看

+46.8 分,六場最差。

而 Day 22 已經知道那天發生什麼事了:氣溫 24.4 度,六場最熱,同樣的配速,前半心率就比福岡高 15 下。

Garmin 不知道那天會有 24.4 度 ,它的預測是賽前算的,而天氣是當天的事。

所以那 48 分鐘裡,有多少是模型的問題、有多少是天氣,這批資料分不出來。但它至少說明一件事:這個數字沒有把比賽當天的條件算進去。


那我們自己算的呢

昨天的計算機從東京馬那場成績算出 VDOT 47.3,而 Garmin 給的 VO2max 是 57.4

差了十點。我一開始想解釋這個差距,後來發現那個比較本身就不成立。

它們不是同一個東西。

  • VO2max 是最大攝氧量,純生理指標,Garmin 從跑步時的心率與配速去估
  • VDOT 是 Daniels 說的 "pseudo-VO2max"—攝氧量乘上跑步經濟性,而且是從比賽成績反推的

Two runners with identical lab-measured VO2 max scores can run very different
race times because one is more efficient.

兩個實驗室數值一樣的人,可以跑出完全不同的成績,因為一個比較省。VDOT 把那個差別包進去了,VO2max 則沒有。

所以 47.3 和 57.4 不該相減。它們回答不同的問題:一個是「自己的引擎多大」,一個是「自己那天實際能跑出什麼」。


兩個數字的用途不一樣

Garmin 預測 我算的 VDOT
來源 平常訓練的心率與配速 一場實際的比賽
更新頻率 每天 每跑一場
六次驗證 全部太快,平均 26 分

而 VDOT 也不是就比較準—它只是誠實地反映了那一場,拿台東那場算,VDOT 是 38.3,比東京馬低了九點,那不代表體能退步九點,代表那天很熱。

兩個都不能當成「我會跑多少」。


那 Garmin 這個數字要怎麼用

這不代表我們能下「所以它沒用」的結論,因為它有一個明確的用法:看趨勢,不看絕對值。

自己這四天的預測從 3:32:06 動到 3:31:09—快了將近一分鐘。那個「動」是有意義的,代表最近的訓練被反映進去了。

而那個「3:31:09」本身,六次歷史紀錄告訴我要加上二十幾分鐘。

也就是說:它是一個好的相對指標,但是一個很差的絕對數字。


明天

工具和數字都盤點完了,接下就是重點畫面的處理了!



上一篇
Day 25|配速計算機:工程師和生理學家的對話
系列文
教練看不到的那六天|從 FIT 檔到 3D 軌跡,馬拉松訓練資料 Dashboard26
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言